import request from '@/utils/request'

// 上传单个文件
export function api_uploadSingle(paramsJson) {
  return request({
    url: 'file/upload',
    method: 'post',
    params: {
      AdminId: paramsJson.Id,
      TaskId: paramsJson.Type,
      FileNameShow: paramsJson.FileNameShow,
    },
    data: paramsJson.FormData,
  })
}
// 上传多个文件
export function api_uploadMulti(paramsJson) {
  return request({
    url: 'file/upload-multi',
    method: 'post',
    headers: {
      'Content-Type': 'multipart/form-data',
    },
    // 这部分非常重要，否则formdata会被转格式
    // transformRequest: [function() {
    //   return paramsJson.FormData
    // }],
    params: {
      AdminId: paramsJson.Id,
      TaskId: paramsJson.Type,
    },
    data: paramsJson.FormData,
  })
}
// 以stream方式及文件uuid下载文件
export function api_downloadStream(uuid) {
  return request({
    url: 'file/download/stream/' + uuid,
    method: 'get',
    responseType: 'blob',
  })
}
// 以entity方式及文件uuid下载文件
export function api_downloadEntity(uuid) {
  return request({
    url: 'file/download/entity/' + uuid,
    method: 'get',
    responseType: 'blob',
  })
}
// 根据图像文件uuid获取图片
export function api_showImageByUuid(uuid) {
  return request({
    url: 'file/image/' + uuid,
    method: 'get',
    params: {
      Thumb: 1,
    },
    responseType: 'arraybuffer',
  })
}
// 根据文件的uuid删除一个已上传的文件
export function api_delByUuid(uuid) {
  return request({
    url: 'file',
    method: 'delete',
    params: {
      uuid: uuid,
    },
  })
}
// 修改tag/filename/remark
export function api_patch(paramsJson) {
  return request({
    url: 'file/' + paramsJson.Id,
    method: 'patch',
    data: paramsJson,
  })
}
// 得到管理员上传到服务器上的文件分页数据
export function api_listPage(paramsJson) {
  return request({
    url: 'file/list-page',
    method: 'get',
    params: {
      PageCurrent: paramsJson.PageCurrent,
      PageSize: paramsJson.PageSize,
    },
  })
}
// 得到管理员上传到服务器上的文件分页数据
export function api_listAllByIdTask(idTask) {
  return request({
    url: 'file/list-all',
    method: 'get',
    params: {
      TaskId: idTask,
    },
  })
}
